// ------------------------------------------------------------
// Copyright (c) Microsoft Corporation.  All rights reserved.
// Licensed under the MIT License (MIT). See License.txt in the repo root for license information.
// ------------------------------------------------------------

#define GET_RC( ResourceName ) \
    Common::StringResource::Get( IDS_CM_##ResourceName )

#include "Common/Common.h"
#include "Transport/Transport.h"
#include "Federation/Federation.h"
#include "query/Query.h"
#include "Reliability/Reliability.h"
#include "ServiceModel/ServiceModel.h"
#include "ServiceModel/SchemaNames.h"
#include "Store/store.h"
#include "Hosting2/Hosting.Runtime.h"
#include "client/ClientServerTransport/ClientServerTransport.external.h"

#include "Management/ImageModel/ImageModel.h"
#include "Management/healthmanager/healthmanager.h"
#include "Management/ClusterManager/ClusterManager.h"

// General
#include "Management/ClusterManager/RolloutManagerState.h"
#include "Management/ClusterManager/ClusterManagerEventSource.h"
#include "Management/ClusterManager/ClusterManagerCounters.h"

// ServiceModel
#include "Management/ClusterManager/TypeSafeString.h"
#include "Management/ClusterManager/ServiceModelApplicationId.h"
#include "Management/ClusterManager/ServiceModelPackageName.h"
#include "Management/ClusterManager/ServiceModelTypeName.h"
#include "Management/ClusterManager/ServiceModelServiceName.h"
#include "Management/ClusterManager/ServiceModelServiceNameEx.h"
#include "Management/ClusterManager/ServiceModelVersion.h"
#include "Management/ClusterManager/ServiceModelServiceManifestDescription.h"

// Message Processing
#include "Management/ClusterManager/ClientRequestAsyncOperation.h"
#include "Management/ClusterManager/CreateComposeDeploymentAsyncOperation.h"
#include "Management/ClusterManager/CreateSingleInstanceApplicationAsyncOperation.h"
#include "Management/ClusterManager/UpgradeComposeDeploymentAsyncOperation.h"
#include "Management/ClusterManager/ProvisionApplicationTypeAsyncOperation.h"
#include "Management/ClusterManager/ProvisionFabricAsyncOperation.h"
#include "Management/ClusterManager/CreateApplicationAsyncOperation.h"
#include "Management/ClusterManager/UpdateApplicationAsyncOperation.h"
#include "Management/ClusterManager/CreateServiceAsyncOperation.h"
#include "Management/ClusterManager/CreateServiceFromTemplateAsyncOperation.h"
#include "Management/ClusterManager/UnprovisionApplicationTypeAsyncOperation.h"
#include "Management/ClusterManager/UnprovisionFabricAsyncOperation.h"
#include "Management/ClusterManager/DeleteApplicationAsyncOperation.h"
#include "Management/ClusterManager/DeleteApplication2AsyncOperation.h"
#include "Management/ClusterManager/DeleteComposeDeploymentAsyncOperation.h"
#include "Management/ClusterManager/DeleteServiceAsyncOperation.h"
#include "Management/ClusterManager/DeleteSingleInstanceDeploymentAsyncOperation.h"
#include "Management/ClusterManager/UpgradeApplicationAsyncOperation.h"
#include "Management/ClusterManager/RollbackApplicationUpgradeAsyncOperation.h"
#include "Management/ClusterManager/RollbackComposeDeploymentAsyncOperation.h"
#include "Management/ClusterManager/UpgradeFabricAsyncOperation.h"
#include "Management/ClusterManager/UpdateApplicationUpgradeAsyncOperation.h"
#include "Management/ClusterManager/UpdateFabricUpgradeAsyncOperation.h"
#include "Management/ClusterManager/RollbackFabricUpgradeAsyncOperation.h"
#include "Management/ClusterManager/GetUpgradeStatusAsyncOperation.h"
#include "Management/ClusterManager/GetFabricUpgradeStatusAsyncOperation.h"
#include "Management/ClusterManager/ReportFabricUpgradeHealthAsyncOperation.h"
#include "Management/ClusterManager/ReportUpgradeHealthAsyncOperation.h"
#include "Management/ClusterManager/MoveNextFabricUpgradeDomainAsyncOperation.h"
#include "Management/ClusterManager/MoveNextUpgradeDomainAsyncOperation.h"
#include "Management/ClusterManager/StartInfrastructureTaskAsyncOperation.h"
#include "Management/ClusterManager/FinishInfrastructureTaskAsyncOperation.h"
#include "Management/ClusterManager/ClusterManagerQueryMessageHandler.h"
#include "Management/ClusterManager/ContainerGroupConfig.h"
#include "Management/ClusterManager/CreateVolumeAsyncOperation.h"
#include "Management/ClusterManager/DeleteVolumeAsyncOperation.h"

// Store
#include "Management/ClusterManager/StoreDataApplicationIdMap.h"
#include "Management/ClusterManager/StoreDataApplicationManifest.h"
#include "Management/ClusterManager/StoreDataClusterUpgradeStateSnapshot.h"
#include "Management/ClusterManager/StoreDataGlobalInstanceCounter.h"
#include "Management/ClusterManager/StoreDataServiceManifest.h"
#include "Management/ClusterManager/StoreDataServicePackage.h"
#include "Management/ClusterManager/StoreDataServiceTemplate.h"
#include "Management/ClusterManager/StoreDataVerifiedFabricUpgradeDomains.h"
#include "Management/ClusterManager/StoreDataVerifiedUpgradeDomains.h"
#include "Management/ClusterManager/StoreDataComposeDeploymentInstance.h"
#include "Management/ClusterManager/StoreDataSingleInstanceApplicationInstance.h"
#include "Management/ClusterManager/StoreDataVolume.h"
#include "Management/ClusterManager/StoreDataSingleInstanceDeploymentCounter.h"
#include "Management/ClusterManager/RolloutStatus.h"
#include "Management/ClusterManager/DeploymentType.h"
#include "Management/ClusterManager/RolloutContextType.h"
#include "Management/ClusterManager/RolloutContext.h"
#include "Management/ClusterManager/DeletableRolloutContext.h"
#include "Management/ClusterManager/ApplicationTypeContext.h"
#include "Management/ClusterManager/ApplicationContext.h"
#include "Management/ClusterManager/ComposeDeploymentContext.h"
#include "Management/ClusterManager/ComposeDeploymentUpgradeContext.h"
#include "Management/ClusterManager/ServiceContext.h"
#include "Management/ClusterManager/ApplicationUpgradeContext.h"
#include "Management/ClusterManager/GoalStateApplicationUpgradeContext.h"
#include "Management/ClusterManager/FabricProvisionContext.h"
#include "Management/ClusterManager/FabricUpgradeContext.h"
#include "Management/ClusterManager/InfrastructureTaskContext.h"
#include "Management/ClusterManager/ApplicationUpdateContext.h"
#include "Management/ClusterManager/SingleInstanceDeploymentContext.h"
#include "Management/ClusterManager/SingleInstanceDeploymentUpgradeContext.h"

// ImageBuilder
#include "Management/ClusterManager/DigestedApplicationDescription.h"
#include "Management/ClusterManager/IImageBuilder.h"
#include "Management/ClusterManager/ImageBuilderProxy.h"
#include "Management/ClusterManager/TestDockerComposeImageBuilderProxy.h"

// Replica
#include "Management/ClusterManager/IApplicationDeploymentTypeNameVersionGenerator.h"
#include "Management/ClusterManager/ContainerGroupAppTypeNameVersionGenerator.h"
#include "Management/ClusterManager/DockerComposeAppTypeNameVersionGenerator.h"
#include "Management/ClusterManager/TestAppTypeNameVersionGenerator.h"
#include "Management/ClusterManager/ApplicationTypeRequestTracker.h"
#include "Management/ClusterManager/FabricClientProxy.h"
#include "Management/ClusterManager/RolloutManager.h"
#include "Management/ClusterManager/NamingJobQueueConfigSettingsHolder.h"
#include "Management/ClusterManager/VolumeManager.h"
#include "Management/ClusterManager/ClusterManagerReplica.h"
#include "Management/ClusterManager/ProcessRolloutContextAsyncOperationBase.h"
#include "Management/ClusterManager/ImageBuilderAsyncOperationExecutor.h"
#include "Management/ClusterManager/ProcessUpgradeContextAsyncOperationBase.h"
#include "Management/ClusterManager/ProcessProvisionContextAsyncOperationBase.h"
#include "Management/ClusterManager/ProcessApplicationContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessApplicationContextUpdateAsyncOperation.h"
#include "Management/ClusterManager/ProcessApplicationTypeContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessComposeDeploymentUpgradeContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessComposeDeploymentContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessSingleInstanceDeploymentContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessSingleInstanceDeploymentUpgradeContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessServiceContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessApplicationUpgradeContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessFabricProvisionContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessFabricUpgradeContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessInfrastructureTaskContextAsyncOperation.h"
#include "Management/ClusterManager/DeleteApplicationContextAsyncOperation.h"
#include "Management/ClusterManager/DeleteApplicationTypeContextAsyncOperation.h"
#include "Management/ClusterManager/ClearComposeDeploymentUpgradeContextAsyncOperation.h"
#include "Management/ClusterManager/ClearSingleInstanceDeploymentUpgradeContextAsyncOperation.h"
#include "Management/ClusterManager/ClearApplicationUpgradeContextAsyncOperation.h"
#include "Management/ClusterManager/DeleteServiceContextAsyncOperation.h"
#include "Management/ClusterManager/DeleteComposeDeploymentContextAsyncOperation.h"
#include "Management/ClusterManager/DeleteSingleInstanceDeploymentContextAsyncOperation.h"
#include "Management/ClusterManager/ReplaceSingleInstanceDeploymentContextAsyncOperation.h"
#include "Management/ClusterManager/ProcessQueryAsyncOperation.h"
#include "Management/ClusterManager/MigrateDataAsyncOperation.h"
#include "Management/ClusterManager/ClusterBaselineAsyncOperation.h"
#include "Management/ClusterManager/CreateDefaultServiceWithDnsNameIfNeededAsyncOperation.h"

// DNS
#include "Management/DnsService/config/DnsServiceConfig.h"

// NetworkInventoryManager
#include "Management/NetworkInventoryManager/common/NetworkInventoryManagerConfig.h"
